"""
File:01_nmap.py
Author:Tcyw
Date:2020-05-03
Connect:741047561@qq.com
Description:

"""
import nmap
# # 实例化对象, portScanner()类用于实现对指定主机进行端口扫描
# nm = nmap.PortScanner()
# # 以指定方式扫描指定主机或网段的指定端口
# result1 = nm.scan(hosts='172.25.254.15', arguments='-n -sP')
# print("扫描结果: ", result1)
#
# result2 = nm.scan(hosts='172.25.254.15', ports='22,80', arguments='-n')
# print('扫描结果：', result2)
#
# # 返回扫描结果nmap命令行
# print('nmap命令行:',nm.command_line())
#
# # 返回nmap扫描的主机清单，格式为列表类型
# print('主机清单:', nm.all_hosts())
#
# # 查看指定主机信息
# print('172.25.254.15的主机信息:', nm['172.25.254.15'])

def get_active_hosts(hosts='172.25.254.15', ports='20,80'):
    """根据提供的网段或者IP返回存活的主机IP"""
    # 实例化对象, portScanner()类用于实现对指定主机进行端口扫描
    nm = nmap.PortScanner()
    # 以指定方式扫描指定主机或网段的指定端口
    result = nm.scan(hosts=hosts, ports=ports, arguments='-n')
    # print('扫描结果：', result2)
    return nm.all_hosts()

if __name__ == '__main__':
    active_hosts = get_active_hosts()
    print('所有存活的主机:', active_hosts)